﻿<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>Battle Frogs</title>
    <link href="styles/jquery-ui-1.10.3.custom.min.css" rel="stylesheet" />
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="scripts/jquery-ui-1.10.3.custom.min.js"></script>
    <link href="styles/style.css" rel="stylesheet" />
</head>
<body>
    <section id="backgroundContainer">
        <div id="wrapper">
            <header id="nav">
                <img src="images/logo.png" />
                <ul>
                    <li><a href="index.html">Home</a></li>
                    <li><a href="algo.html">Algorithm</a></li>
                    <li><a href="visualizer.html">Visualization</a></li>
                    <li><a href="about.html">Authors</a></li>
                </ul>
            </header>
            <article id="content">

                <h2>Битката за гьола (Жабокалипсис)</h2>
                <h2>Финал на конкурса на Telerik и PC Magazine Bulgaria</h2>
                <h2>сезон 2012/2013</h2>
                <p>
                    Всяка жаба да си знае гьола, но с това глобално затопляне гьоловете на героите в този кръг започват да стават все по-трудноузнаваеми. По последни данни около 18 жаби се борят за оцеляване в намаляващите водни ресурси.

Гьоловете на нашите жаби са малко по-особени – те не са какви да е локви, а са идеални кръгове, в които жабите се помещават. Във всеки гьол има по две жаби, които никак не обичат да се допират една до друга. Толкова не обичат, че като се допрат – умират. Когато гьолът е достатъчно голям това не е проблем. Но както казахме глобалното затопляне е започнало да влияе на тези райски кътчета за нашите жаби – гьоловете се смаляват!

Ако жабите ни можеха да говорят, щяха да кажат, типично по каубойски: “В този гьол няма място и за двамата (двете) ни”. Може би нашите жаби не са толкова далеч от каубоите, защото освен че така биха казали, те са се научили да ползват огнестрелно оръжие. Това прави битката за територия в гьола още по-интересна, нали? Още по-екстремни стават нещата, когато разберем, че жабите ни са доста чувствителни на липса на вода. В момента, в който и най-малката част от тях напусне гьола, жабите умират.

Ще помогнете ли на вашата жаба (нямате си жаба? — е, вече си имате), като напишете програма, която я упътва така, че да оцелее по-дълго от другата жаба в гьола? Е… и в двата случая поне ще ядем жабешки бутчета.
                </p>
                <h3>Описание на поведението на жабите и гьола</h3>

                <p>
                    Гьолът ще представим като окръжност, с център (0,0) и радиус 100 в Евклидова координатна система.

Съответно жабите също ще бъдат кръгове, всяка с радиус 3.5.

Първата жаба се намира на позиция (-80, 0), а втората се намира на позиция (80, 0), тоест симетрично на центъра на гьола по координатната ос X.

За всяка единица време, жабите могат да извършат общо 2 действия, като двете жаби извършват тези действия едновременно:

    Стрелба в определена посока
    Скок в определена посока

Също така, за всяка единица време гьолът свива радиусът си с 1, тоест за общо 100 хода гьолът ще стане с радиус 0.

Една жаба може да скочи най-много на разстояние 2 от текущата си позиция. Жабите са много бързи и скокът става мигновено, тоест пренебрегва се времето за придвижване.

Когато една жаба стреля, тя произвежда куршум, който се движи в посоката, в която е изстрелян, със скорост 10 за единица време. Това означава, че ако в първата единица време е изстрелян куршум от (80, 0) към центъра (0, 0), то на втората единица време този куршум ще е стигнал до (70, 0) и в следващите ходове ще продължи да се движи.

Жабите не стрелят точно по нормалния начин – техните куршуми отскачат от водата, като разстоянието между два отскока на един куршум е точно 1. Куршумът може да порази жаба само ако попадне в нея при отскок. Тоест, ако една жаба се намира на една от позициите, на които куршумът ще отскочи, тя ще бъде убита. Математически, ако позицията, от която куршумът отскача, се съдържа в кръга описващ жабата, жабата ще бъде убита.

Куршумът винаги тръгва от центърът на жабата, като първите 3 отскока се пренебрегват (тъй като попадат в стрелящата жаба). Ако куршумът не уцели жаба, той излиза извън гьола.

Посоката на стрелба и посоката на скок се определят с “целево местоположение”, тоест мястото към което скача/стреля жабата. При скок това място може да е извън обсега на жабата, при което жабата ще скочи в тази посока и ще падне там където ѝ свършва обсега. При стрелбата важи същото правило, с изключението че стрелбата няма обсег, т.е. в определена единица време е гарантирано, че куршумът ще стигне до целта (но не е гарантирано, че там ще има отскок) и след това ще продължи.

Например ако имаме жаба на позиция (-80, 0) и ѝ кажем да скача към позиция (0,0), то на следващия ход жабата ще бъде на позиция (-78, 0). Скачане и стреляне по диагонал също е възможно, както и във всяка друга посока.

След като стреля веднъж, една жаба има нужда от 7 единици време (хода) за да презареди, през което време не може да стреля.

Ако окръжността, която описва една жаба, пресече или допре окръжността, която описва друга жаба, и двете жаби умират и “двубоят” завършва наравно.

Ако окръжността, която описва една жаба, пресече или допре ръбът на гьола (т.е. ако част от жабата излезе извън гьола), жабата умира и ако втората жаба е все още жива в този момент, втората печели (и обратно).

Възможно е две жаби се уцелят едновременно с куршуми, “двубоят” също завършва наравно. Едновременно означава за една и съща единица време (тоест не е от значение на кой отскок са уцелени едната или другата жаба, достатъчно е в един от отскоците това да се е случило).
                </p>

                <p>За пълният набор от правила и изисквания, моля посетете <a href="http://konkurs.pcmagbg.net/final-round-2012-2013/">сайта</a> на конкурса.</p>

            </article>
            <footer>
                <p>BattleFrogs application. Team Nader & Aleks</p>
            </footer>
        </div>
    </section>
</body>
</html>
